package com.junzhiit.nengji.dao;

import java.util.List;

import com.bainaeco.framework.base.dao.BaseDAO;
import com.junzhiit.nengji.model.MemberCard;

public interface MemberCardDAO extends BaseDAO<MemberCard> {
	/**
	 * 
	 * TODO	查找该店铺所有会员卡
	 * @author Zaki
	 * @time 2018年3月29日 下午8:19:52
	 * @return List<MemberCard>
	 */
	public List<MemberCard> findAll(String csId);
	
	/**
	 * TODO 查找该店铺所有可领取(购买)会员卡
	 * @author Dlam
	 * @time 2018年8月14日 下午4:09:48
	 * @return List<MemberCard>
	 * 
	 */
	public List<MemberCard> findAllavAilable(String csId);
	
	/**
	 * 
	 * TODO 查找所有会员卡名称
	 * @author Zaki
	 * @time 2018年4月2日 下午2:21:40
	 * @return List<MemberCard>
	 */
	public List<MemberCard> findMemberCardName(String csId);
	
	/**
	 * 
	 * TODO 查找该店铺下有规则的会员卡等级最高的信息
	 * @author Zaki
	 * @time 2018年8月6日 下午3:21:04
	 * @return MemberCard
	 */
	public MemberCard getMaxGrade(String csId);
	
	/**
	 * 
	 * TODO 查找该有规则会员卡的累计消费最小值
	 * @author Zaki
	 * @time 2018年8月6日 下午9:37:06
	 * @return MemberCard
	 */
	public MemberCard getMinConsumePrice(Double consumePrice,String csId);
	
	/**
	 * 
	 * TODO 查找该有规则会员卡的累计消费最大值
	 * @author Zaki
	 * @time 2018年8月6日 下午9:36:56
	 * @return MemberCard
	 */
	public MemberCard getMaxConsumePrice(Double consumePrice,String csId);
	
	/**
	 * 
	 * TODO 查找该有规则会员卡的购买次数最小值
	 * @author Zaki
	 * @time 2018年8月6日 下午9:36:47
	 * @return MemberCard
	 */
	public MemberCard getMinBuyCount(Integer buyCount,String csId);
	
	/**
	 * 
	 * TODO 查找该有规则会员卡的购买次数最大值
	 * @author Zaki
	 * @time 2018年8月6日 下午9:36:40
	 * @return MemberCard
	 */
	public MemberCard getMaxBuyCount(Integer buyCount,String csId);
	
	/**
	 * 
	 * TODO 查找该有规则会员卡的累计积分最小值
	 * @author Zaki
	 * @time 2018年8月6日 下午9:36:33
	 * @return MemberCard
	 */
	public MemberCard getMinConsumeIntegral(Integer consumeIntegral,String csId);
	
	/**
	 * 
	 * TODO 查找该有规则会员卡的累计积分最大值
	 * @author Zaki
	 * @time 2018年8月6日 下午9:36:24
	 * @return MemberCard
	 */
	public MemberCard getMaxConsumeIntegral(Integer consumeIntegral,String csId);
	
	/**
	 * TODO  查寻出用户可用的会员卡信息
	 * @author Qjen
	 * @time 2018年8月14日 上午10:28:23
	 * @return List<MemberCard>
	 * 
	 */
	public List<MemberCard> findAllByShopId(List<String> csIds, String userId);
	
	/**
	 * TODO 查寻出用户可用的会员卡信息
	 * @author Dlam
	 * @time 2018年8月15日 下午5:34:54
	 * @return MemberCard
	 * 
	 */
	public MemberCard findAllByCsId(String csIds,String userId);
	
	/**
	 * 
	 * TODO 查询所有店铺的正在使用的会员卡
	 * @author Zaki
	 * @time 2018年8月16日 下午8:18:38
	 * @return List<MemberCard>
	 */
	public List<MemberCard> findActiveCard();
}
